A 3-dimensional (3D) model may be reconstructed from multiple 2-dimensional (2D) images of a scene. The 2D images may be taken by one or more cameras using various camera poses. Conventional 3D model generation techniques rely upon feature point recognition. Typically, the 2D images are processed to identify feature points that are matched across the multiple 2D images. The feature points may be triangulated in three dimensions. Re-projection error between the actual location of the feature points and the re-projected feature points from three dimensions back to two dimensions along with camera pose error both may then be minimized.
Many 2D images include textureless regions. Textureless regions may occur in 2D images of outdoor scenes and are often found in 2D images of indoor scenes. A textureless region generally refers to a region in a 2D image where the pixels are the same or highly similar. The deviation from one pixel to the next is minimal or non-existent. A textureless region within a 2D image typically represents a smooth surface without detail. Examples of textureless regions may include, but are not limited to, walls, countertops, and the like, including those of relatively constant color.
Conventional 3D model generation techniques tend to perform relatively well when processing texture rich 2D images. In situations where the 2D images include textureless regions, however, conventional 3D model generation techniques tend to underperform. Conventional techniques often require a large number of 2D images as input to determine sufficient feature points to reconstruct even a small region. Because textureless regions have little or no feature points, conventional techniques for 3D model generation involving textureless regions are often flawed. Further, the estimation of camera poses tends to be inaccurate.